package Modelo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.LinkedList;


public class Arbitros
{
  private static int NroArbitro=-1;  
  String Cedula;
  String Nombre;
  String Apellido;
  String FechaNac;
  int CantJuegos;
  
  public static LinkedList<Arbitros> ListaArbitros= new LinkedList<Arbitros>();
  
  public Arbitros()
  {
    Cedula="";      
    Nombre="";
    Apellido="";
    FechaNac="";
    CantJuegos=0;
    
   
      
  }        
  
  Arbitros(String Cedula,String Nombre,String Apellido,String FechaNac,int CantJuegos)
  {
    this.Cedula=Cedula;      
    this.Nombre=Nombre;
    this.Apellido=Apellido;
    this.FechaNac=FechaNac;
    this.CantJuegos=CantJuegos;
  }        
  
  public void SetCedula(String Cedula)
  {        
    this.Cedula=Cedula;
  }

    public void SetNombre(String Nombre)
  {        
    this.Nombre=Nombre;
  }

    public void SetApellido(String Apellido)
  {        
    this.Apellido=Apellido;
  }

    public void SetFechaNac(String FechaNac)
  {        
    this.FechaNac=FechaNac;
  }

    public void SetCantJuegos(int CantJuegos)
  {        
    this.CantJuegos=CantJuegos;   
  }
  
 // Set's
  public String GetCedula()
  {        
    return Cedula;
  }

    public String GetNombre()
  {        
    return  Nombre;
  }

    public String GetApellido()
  {        
    return  Apellido;
  }

    public String GetFechaNac()
  {        
    return FechaNac;
  }

    public int GetCantJuegos()
  {        
    return  CantJuegos;   
  }
    
  //Añadir arbitros a la Lista
    public static void addArbitro(String Ced, String Nom, String Ape, String FechaN,int CantJ)
  {
    Arbitros arbitro = new Arbitros(); 
    
    arbitro.SetCedula(Ced);
    arbitro.SetNombre(Nom);
    arbitro.SetApellido(Ape);
    arbitro.SetFechaNac(FechaN);
    arbitro.SetCantJuegos(0);
    ListaArbitros.add(arbitro); //Lo agrega a la lista
  }  
    
public static int ExisteArbitro(String Cedula)
 {
   int i=0;
   boolean Hallado=false;
   Arbitros DatosArbitro;
   String Ced;

   while (i <  ListaArbitros.size() && !Hallado)
   {
     DatosArbitro=(Arbitros)ListaArbitros.get(i);
     Ced=DatosArbitro.GetCedula();
                  
     //if (Ced.compareTo(Cedula) == 0)
     if (Ced.equals(Cedula.trim())) 
       Hallado=true;  
     else
       i++;  
       
   }   
    
   if (Hallado)
     return i;     //(Arbitro) ListaArbitros.get(i);   
   else
     return -1;  
       
  } 

public static void CargarArbitros()
  {
     Arbitros Elarbitro=new Arbitros(); 
      
      String ArrLineas[];   // declarar la referencia a un arreglo
      ArrLineas = new String[ 5 ];
      String Via;
      int Cnt,i;
      File archivo = null;
      FileReader fr = null;
      BufferedReader br = null;

      try {
         // Apertura del fichero y creacion de BufferedReader para poder
         // hacer una lectura comoda (disponer del metodo readLine()).
         //archivo = new File ("C:\\Arbitros.txt");
                          
           Via="C:/Users/Luis/Documents/NetBeansProjects/ProyectoBeisbol/ProyectoBeisbol/src/Archivos/Arbitros.txt";
           
         archivo = new File (Via);
         
         fr = new FileReader (archivo);
         br = new BufferedReader(fr);

         // Lectura del fichero
         String linea;
         
         Cnt=0;
         while((linea=br.readLine())!=null)
            {  
              System.out.println(linea);
              Cnt++;
              
              ArrLineas[ Cnt-1 ]=linea;        
              if (Cnt==5)
                {
                 System.out.println("----------");                                    
                 addArbitro(ArrLineas[0],
                          ArrLineas[1],
                          ArrLineas[2],
                          ArrLineas[3],
                          0);
                          
                          
                 Cnt=0;
                }
            }
                        
      }
      catch(Exception e){
      }finally{
         // En el finally cerramos el fichero, para asegurarnos
         // que se cierra tanto si todo va bien como si salta 
         // una excepcion.
         try{                    
            if( null != fr ){   
               fr.close();     
            }                  
         }catch (Exception e2){ 
         }
 
      }
  }                 

public static int SiguienteArbitro()
{
  if (NroArbitro == ListaArbitros.size()-1)
    NroArbitro=0;
  else
      NroArbitro++;                       
  
  return NroArbitro;
   
}   

}